Reverse Engineering through Formal

نویسنده

  • M P Ward
چکیده

In this paper we will take a detailed look at a larger example of program analysis by transformation. We will be considering Algorithm 2.3.3.A from Knuth's \Fundamental Algorithms" Knuth (1968) (P.357) which is an algorithm for the addition of polynomials represented using four-directional links. Knuth (1974) describes this as having \a complicated structure with excessively unrestrained goto statements" and goes on to say \I hope someday to see the algorithm cleaned up without loss of its eeciency". Our aim is to manipulate the program, using semantics-preserving operations, into an equivalent high-level speciication. The transformations are carried out in the WSL language, a \wide spectrum language" which includes both low-level program operations and high level speciications, and which has been speciically designed to be easy to transform.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reverse Engineering Distributed Algorithms

Recently, formal approaches to reverse engineering have received considerable attention as a means of creating correct high level specifications. We show how a formal approach to reverse engineering can be applied when constructing distributed systems, eg. if we want to reuse an existing algorithm, but in a different environment, or develop a new distributed algorithm that is somehow similar to...

متن کامل

A Suite of Tools for Facilitating Reverse Engineering Using Formal Methods

As a program evolves, it becomes increasingly difficult to understand and reason about changes in source code. Eventually, if enough changes are made without a corresponding modification of the software documentation, reverse engineering and design recovery techniques must be used in order to understand the current behavior of a system. In our previous investigations, we described a formal tech...

متن کامل

Facilitating the Maintenance of Safety-Critical Systems

As software is increasingly used to control safety-critical systems, correctness becomes paramount. Formal methods in software development provide many bene ts in the forward engineering aspect of software development. Reverse Engineering is the process of constructing a high level representation of a system from existing lower level instantiations of that system. Reverse engineering of program...

متن کامل

The Representation Problem in Reverse Engineering

Building models to understand software systems is an important part of reverse engineering. Formal and explicit model building is important because it focuses attention on modeling as an aid to understanding and results in artifacts that may be useful to others. The representation used to build models has great innuence over the success and value of the result. Choosing the proper representatio...

متن کامل

A Two - Phase Approach to Reverse EngineeringUsing Formal

Reverse engineering of program code is the process of constructing a higher level abstraction of an implementation in order to facilitate the understanding of a system that may be in a \legacy" or \geriatric" state. Changing architectures and improvements in programming methods, including formal methods in software development and object-oriented programming , have prompted a need to reverse en...

متن کامل

A Formal Approach for Reverse Engineering: A Case Study

As a program evolves, it becomes increasingly difficult to understand and reason about changes in the source code. Eventually, if enough changes are made, reverse engineering and design recovery techniques must be used in order to understand the current behavior of a system. In this context, the effective use of complementary approaches can facilitate program and system understanding by taking ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994